/*
Package uid provides functionality for generating unique identifiers throughout the Unkey system.

The uid package creates self-descriptive identifiers that combine resource type prefixes with
time-based and random components. These IDs are suitable for distributed systems where uniqueness
must be guaranteed without coordination. Each ID consists of three parts:

1. A resource-specific prefix (e.g., "key_" for API keys)
2. A timestamp component (encoded as seconds since epoch)
3. A random component to ensure uniqueness even when IDs are generated simultaneously

Common use cases include:
- Generating identifiers for resources like API keys, policies, workspaces
- Creating reference IDs for system operations like requests and audit logs
- Ensuring unique identifiers across distributed services without coordination
- Supporting debugging by making IDs self-descriptive and sortable by creation time

The IDs generated by this package are base58 encoded, making them URL-safe and readable.
The timestamp component allows for chronological sorting of IDs within the same resource type.
*/
package uid
